//package com.zhz.mall.portal.kakfa;
//
//import cn.hutool.core.lang.Assert;
//import lombok.Getter;
//import lombok.extern.slf4j.Slf4j;
//import org.apache.kafka.clients.consumer.ConsumerRecord;
//import org.springframework.beans.factory.InitializingBean;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.beans.factory.config.ConfigurableBeanFactory;
//import org.springframework.context.annotation.Scope;
//import org.springframework.stereotype.Component;
//
///**
// * KafkaConsumer
// * <p>
// * 为指定的 topic 单独创建 kafka consumer
// * @author zhouhengzhe
// */
//@Slf4j
//@Component
//@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
//public class KafkaConsumer implements InitializingBean {
//
//    @Autowired
//    private KafkaDispatcher kafkaDispatcher;
//
//
//    /**
//     * 消费主题
//     */
//    @Getter
//    private final String topic;
//
//
//    public KafkaConsumer(String topic) {
//        this.topic = Assert.notBlank(topic);
//    }
//
//
//    @Override
//    public void afterPropertiesSet() {
//        log.info("kafka consumer started, subscribe topic: {}", topic);
//    }
//
//
//    /**
//     * 注: #{__listener.topic} 用法见 beanRef 参数
//     */
//    @org.springframework.kafka.annotation.KafkaListener(
//            topics = "#{__listener.topic}",
//            properties = "max.poll.records:100"
//    )
//    public void onMessage(ConsumerRecord record) {
//        kafkaDispatcher.doDispatch(record);
//    }
//
//
//}